package org.jmc.refmanager.util;

import java.util.List;
import java.util.Map;
import java.util.Set;

public final class ListUtil {

	/**
	 * 
	 * @param list
	 * @return
	 */
	public static boolean isEmptyOrNull(Map<?, ?> map) {
		return map==null || map.size()==0;
	}
	
	/**
	 * 
	 * @param list
	 * @return
	 */
	public static boolean isEmptyOrNull(List<?> list) {
		return list==null || list.size()==0;
	}

	/**
	 * 
	 * @param list
	 * @return
	 */
	public static boolean isEmptyOrNull(Set<?> set) {
		return set==null || set.size()==0;
	}

	/**
	 * 
	 * @param <E>
	 * @param list
	 * @return
	 */
	public static <E> E getFirstEvenIfNull(List<E> list) {
		if (!isEmptyOrNull(list)) {
			return list.get(0);
		} else {
			return null;
		}
	}

	/**
	 * 
	 * @param <E>
	 * @param set
	 * @return
	 */
	public static <E> E getFirstEvenIfNull(Set<E> set) {
		if (!isEmptyOrNull(set)) {
			return set.iterator().next();
		} else {
			return null;
		}
	}

}
